package com.booktrading.service;

import com.booktrading.model.Book;

import java.util.List;

public interface BookService {
    
    /**
     * 发布书籍
     */
    Book publishBook(Book book);
    
    /**
     * 根据ID查询书籍
     */
    Book getBookById(Long id);
    
    /**
     * 获取卖家的书籍列表
     */
    List<Book> getBooksBySeller(Long sellerId);
    
    /**
     * 更新书籍信息
     */
    boolean updateBook(Book book);
    
    /**
     * 更新书籍状态
     */
    boolean updateBookStatus(Long id, Integer status);
    
    /**
     * 获取所有在售书籍
     */
    List<Book> getOnSaleBooks();
    
    /**
     * 搜索书籍
     */
    List<Book> searchBooks(String keyword);
    
    /**
     * 查询所有在售书籍
     */
    List<Book> getAllOnSaleBooks();
    
    /**
     * 根据条件查询书籍
     */
    List<Book> getBooksByCondition(Book condition);
    
    /**
     * 按类别查询书籍
     */
    List<Book> getBooksByCategory(String category);
    
    /**
     * 按价格区间查询书籍
     */
    List<Book> getBooksByPriceRange(Double minPrice, Double maxPrice);
    
    /**
     * 按书籍状态查询
     */
    List<Book> getBooksByStatus(Integer status);
    
    /**
     * 删除书籍
     */
    boolean deleteBook(Long id);
    
    /**
     * 增加书籍浏览次数
     */
    boolean incrementViews(Long id);
} 